The present invention is related to a telecommunications system. More specifically, the present invention is related to a scheduler for a telecommunications system which dynamically allocates bandwidth to entities requesting service from a server of the telecommunications system.
In most asynchronous based networks, there are times when service from a server, such as a router or a switch or a CPU, must be allocated to more than one entity, such as a port, requesting service from the server. This is because at such times, more than one entity is requesting service of the server. Heretofore, a common technique to deal with such demands of a server is to establish rigid predefined allocations to entities demanding service, regardless of how much service they are actually demanding over time. The present invention allows the allocation of service to entities demanding service to be dynamically changed to take advantage of the available bandwidth of a network at any given time.
The present invention pertains to an apparatus for providing service to entities. The apparatus comprises a server for providing service. The apparatus comprises a first entity which requires the service of the server. The first entity is connected with the server. The apparatus comprises a second entity which requires the service of the server. The second entity is connected with the server. Also, the apparatus comprises a scheduler for dynamically scheduling when the first and second entity receives service from the server.
The present invention pertains to a scheduler for controlling when N entities, where N is an integer greater than or equal to 1, are operated upon by a server. The scheduler comprises a controller which chooses entities to receive service by the server based on a weighting factor corresponding with an entity. The controller dynamically changes the weighting factor corresponding with the entity as a function of a desired condition and time. The scheduler comprises a communication mechanism for communicating with entities. The communication mechanism is connected to the controller.
The present invention pertains to a method for serving entities. The method comprises the steps of providing service to a first entity by a server at a first rate based on a first weighting factor corresponding to the first entity during a first time period. Next there is the step of providing service to a second entity by the server at a second rate based on a second weighting factor corresponding to the second entity during the first time period. Then there is the step of changing the first weighting factor and second weighting factor dynamically to a third weighting factor and a fourth weighting factor, respectively, corresponding to the first entity and second entity, respectively. Next there is the step of providing service to the first entity by the server at a third rate based on the third weighting factor corresponding to the first entity during a second time period. Then there is the step of providing service to the second entity by the server at a fourth rate based on the fourth weighting factor corresponding to the second entity during the second time period.